草庐IT

MySQL 重用子查询

全部标签

c# - 为什么 Entity Framework 需要 30 秒来加载记录,而生成的查询只需要 1/2 秒?

下面的executeTime第一次是30秒,下次执行同一组代码时是25秒。在SQLProfiler中观察时,我立即看到一个登录,然后它就在那里停留了大约30秒。然后,只要运行select语句,应用程序就会完成ToList命令。当我从ManagementStudio运行生成的查询时,数据库查询只需要大约400毫秒。它返回14行和350列。看起来将数据库结果转换为实体所花费的时间非常短,以至于不明显。那么在进行数据库调用之前的30秒内发生了什么?如果EntityFramework这么慢,我们不可能使用它。有没有我做错了什么或者我可以改变什么来显着加快速度?更新:好吧,如果我使用编译查询,第

c# - 为存储过程创建可重用的 Linq To SQL

我正在处理一个需要使用LinqToSQL的新项目。我被要求创建一个可用于执行存储过程的通用或可重用的LinqtoSQL类。在ADO.Net中,我知道如何通过传递一个我想执行的字符串来做到这一点,我可以为每个需要运行的查询传递不同的字符串:SqlCommandcmd=newSqlCommand("myStoredProc",conn);//etc,etc我正在为如何在LinqToSQL中创建类似的东西而苦苦挣扎,如果可能的话。我创建了一个.dbml文件并向其中添加了我的存储过程。因此,我可以使用以下代码返回结果:publicListGetData(stringconnectName){M

c# - 如何在 LINQ-to-Entities 查询中使用自定义属性?

我有一个Post类,它是一个EntityFramework模型。它包含如下属性:publicboolShowable{get{returnthis.Public&&this.PublishedDate>DateTime.now}}我可以在这样的查询中使用它:frompindb.Postswherep.Showableselectp;但是当我有一个使用它的属性时,就像这样publicIEnumerableShowablePosts{get{returnfrompindb.Postswherep.Showableselectp;}}那我做不到:frompinShowablePostswhe

c# - 我如何/可以使用 linq to xml 以合理的内存消耗查询巨大的 xml 文件?

我对linqtoxml的处理不多,但我看到的所有示例都将整个XML文档加载到内存中。如果XML文件是8GB,而您真的没有选择怎么办?我的第一个想法是使用XElement.LoadMethod(TextReader)结合FileStreamClass的实例.问题:这行得通吗?这是解决搜索超大XML文件问题的正确方法吗?注意:不需要高性能..我正在尝试让linqtoxml基本上完成我可以编写的程序的工作,它循环遍历我的大文件的每一行并收集起来,但由于linq是“以循环为中心”我希望这是可能的.... 最佳答案 使用XElement.Lo

c# - 使用 xmlns 属性( namespace )查询 XDocument

我尝试从visualstudio*.csproj文件中查询元素。我创建了一个简短的示例来说明问题://Workingstringxml1=@"";//Notworkingstringxml2=@"";XDocumentdoc=XDocument.Parse(xml2);foreach(XElementelementindoc.Descendants("ItemGroup")){Console.WriteLine(element);}字符串xml1工作正常,xml2不返回任何内容。这些字符串之间的唯一区别是文档根目录中的xmlns属性。如何查询包含xmlns属性的文档?为什么xml文档包

c# - LINQ to SQL 查询,其中字符串以通用列表中的元素开头

我希望更新我的查询之一,因为搜索要求已更改。最初,用户要输入单个SKU和制造商。搜索产品目录的日期范围。所以这就是我使用的。DateTimestartDate=...;DateTimeendDate=...;stringprodSKU=TextSKU.Text.Trim();varresults=fromcindb.Productswherec.is_disabled==false&&c.dom>=startDate&&c.dom现在要求说用户可以在文本框中输入以逗号分隔的SKU列表进行搜索。我感到困惑的是如何在mfg.xml中找到所有产品。以skuList中的任何SKU开头的日期范围

c# - 在 C# 中安全地生成 SQL 查询

在C#中生成SQL查询的最安全方法是什么,包括清理用户输入以防止注入(inject)?我希望使用不需要外部库的简单解决方案。 最佳答案 使用Sql参数:http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlparameter(v=vs.80).aspx这是C#中的示例SqlCommandtCommand=newSqlCommand();tCommand.Connection=newSqlConnection("YourConnectionString");t

c# - 具有匿名类型和用户定义类型的 LINQ 选择查询

匿名类在C#中具有只读属性。这通常用于在linqselect查询中声明以从数据库中获取特定值。在我的代码中,我有以下查询。让我困惑的是使用new语句选择匿名类的新对象。我有一个模型类StudentClerkshipsLogModel。当我使用模型名称时,查询结果允许编辑。varquery=(fromentityin_tblStudentClerkshipsLog.GetQueryable()whereentity.StudentID==intStudentIDselectnewStudentClerkshipsLogModel{StudentClerkshipID=entity.Stu

c# - 使用扩展方法中定义的查询进行单元测试

在我的项目中,我使用以下方法从数据库中查询数据:使用可以返回任何类型且不绑定(bind)到一种类型的通用存储库,即IRepository.Get而不是IRepository.Get.NHibernatesISession是此类存储库的示例。在IQueryable上使用扩展方法具有特定的T封装重复查询,例如publicstaticIQueryableByInvoiceType(thisIQueryableq,InvoiceTypeinvoiceType){returnq.Where(x=>x.InvoiceType==invoiceType);}用法是这样的:varresult=sess

c# - 使用 C# 进行查询验证

我正在寻找C#中的查询验证器,它允许我解析文本框中的SQL文本并在发送它以供执行(MSSQL或DB2查询)之前验证它是否正确。 最佳答案 如果您想在不使用数据库的情况下验证SQL语法,TSql100Parser对于这种情况,类会做得很好。免责声明,此处借用这篇文章的代码CodetovalidateSQLScripts虽然使用起来非常简单。如果它返回null,那么在解析它时没有错误。usingMicrosoft.Data.Schema.ScriptDom;usingMicrosoft.Data.Schema.ScriptDom.Sql